'''
字符串 多行文本用 三个单引号或双引号 包围起来
'''

s1 = 'hello, world'
s2 = "hello, world!"
s3 = '''
你好
python
'''
print(s1, s2, s3, end='')

'''
+ : 拼接字符串
* ：重复多次字符串
[:] : 切片
in /not in 用于字符串包含/不包含
'''
a = 'hello '
b = 'world '
print(a + b) # hello world
print(a * 3) # hello hello hello
print('orl' in b) # True
# 取出字符串中的指定位置字符
c = 'helloworld'
print(c[2]) # l 输出第二个字符
print(c[2:4]) # ll 输出第二到第四个字符
print(c[2:]) # lloworld 从第二个字符到最后
print(c[2::2]) # lool 从第二个位置开始，步长为2的字符
print(c[::2]) # hlool 从开始位置开始，步长为2的字符
print(c[::-1]) # dlrowolleh 从最左侧开始步长为1输出
print(c[-3:-1]) # rl 从右开始

'''
字符串对应函数
'''
print('=======')
str0 = 'hello, world!'
# 字符串长度
print(len(str0))
# 字符串首字母大写的拷贝
print(str0.capitalize()) # Hello, world!
# 获得字符串每个单词首字母大写的拷贝
print(str0.title()) # Hello, World!
# 大写转换
print(str0.upper())
# 从字符串中查找子串第一次所在位置
print(str0.find('or')) # 8
print(str0.find('al')) # -1 找不到
# 跟find类似，找不到报错
print(str0.index('or')) # 8
# print(str0.index('al')) #  找不到报错
# 判断字符串是否以某个字符串开头
print(str0.startswith('He')) # False
print(str0.startswith('he')) # True
# 判断字符串是否以某个字符串结尾
print(str0.endswith('!'))
# 将字符串以指定的宽度居中并在两侧填充指定的字符
print(str0.center(20, '*')) # ***hello, world!****
# 将字符串以指定的宽度靠右放置左侧填充指定的字符
print(str0.rjust(20, '@')) #  @@@@@@@hello, world!

# 字符串中字符数字组成判断
str1 = 'hello12345'
# 检查字符串是否由数字构成
print(str1.isdigit()) # False
# 检查字符串是否以字母构成
print(str1.isalpha()) # False
# 检查字符串是否以数字和字母构成
print(str1.isalnum()) # True

str2 = ' hello '
# 去除字符串首尾空格
print(str2.strip())